草庐IT

database - 在sqlite中查找重复的列值

全部标签

regex - 如何使用 Golang 正则表达式查找完全匹配的单词?

我试图在一个大文本文件中查找单词。MatchString方法本身并不查找精确的单词匹配,而是按其应有的方式查找模式。如何使用Golang中的regexp包检查单词是否完全匹配?我尝试了一些我在SO上找到的正则表达式,但没有用。 最佳答案 使用zero-lengthwordboundrysequence\b:https://play.golang.org/p/-f0KEKb2EbFregexp.MatchString("\\bword\\b",test) 关于regex-如何使用Golan

正则表达式查找字符串和反斜杠

我有这些字符串,它们可以以多种方式出现,例如:id=PS\\Old\\Gen,value=34和id=Code\\Cache,value=22等我想要一个正则表达式,它可以将=之后的任何内容提取到,所以基本上:PS\\Old\\Gen和代码\\缓存等我已经编写了以下正则表达式,但似乎无法获取,之前的最后一个字。(([a-zA-z]+)\\{2})+有什么想法吗?这是go语言。 最佳答案 您可以使用此正则表达式并从group1捕获您的文本,id=([^,=]*),解释:id=-按字面匹配id=([^,=]*)-匹配除,或=之外的任何字

database - 在结构数组中搜索

我有一个这样定义的结构:typeIssuesstruct{RedmineIssuestringGitlabIssuestring}然后我从数据库中获取列表database.Find(&Issues)然后我有另一个数组redmineIssues[]redmine.Issue有没有什么方法可以在我的数组问题中搜索问题,这些问题也在基于字段RedmineIssue(字符串)的数组redmineIssues中?今天是我在做的事database.Find(&Issues)redmineIssue:=[]string{}for_,issueRedmine:=rangeIssues{redmineI

go - 使用 exec.Command 运行 sqlite3 .backup

我正在尝试按照此SO答案https://stackoverflow.com/a/25684912/426853给出的方式使用sqlite3.backup命令从Go备份数据库.以下始终在命令行中运行:sqlite3/home/pi/pgclogs/smartlog.db".backup'/home/pi/pgcdata/smartlog.db.bak'"我在Go中将其编码如下:funcDbBackup()(errerror){dbpath:="/home/pi/pgclogs/smartlog.db"bakpath:="/home/pi/pgcdata/smartlog.db.bak"c

go - 如何在 Golang 中查找来自控制台的标志数

我正在从控制台传递参数。还有一些旗帜。喜欢:goruntest.go"-IP=10.10.10.10""-db=kite""-wv=45""-cv=75""A=value1""B=value2""C=100""D:=((A-B)/A)*C""D?"这里,-IP,-db,-wv,-wc这四个是flags等据我所知,正在作为正常参数传递。标志的数量可以是可变的。我怎么知道有多少标志传递到我的程序。在这种情况下,传递了4标志。 最佳答案 如果你使用标准的flag包来解析命令行标志,你可以调用NFlag函数来获取标志的数量:packagem

regex - MustCompile 中的 Golang 正则表达式引用(查找重复字符)

这个问题在这里已经有了答案:Regextomatchrepeatedcharacters(3个答案)关闭6年前。我在使用Go的正则表达式时遇到了困难。它似乎与其他语言不同,有人可以帮助我吗。目标。我希望MustCompile找到字符串中所有重复的字符。APPLE(其中P重复)re:=regexp.MustCompile("(\\w)\\${1}\\+")以上是我试过但根本没用的。基本上我想做的是:([A-Za-z])\1+谁能告诉我我做错了什么?示例如下:https://play.golang.org/p/DeuaIva968

go - 在有向图 Golang 中查找所有循环

我正在尝试使用Golang(或至少几个)生成有向图中包含的所有循环。我目前有两个结构:Node:{ID(string),resolved(bool),edges([]Edge)}Edge:{ID(string),start(Node),end(Node),weight(Float64)}周期重量不是问题(目前)。我找到了一些关于如何检测循环或找到最短路径等的答案,但我没有找到可以完全帮助我的算法。我该如何进行?(欢迎任何建议) 最佳答案 这个问题有两个部分。关于检测图中所有循环的算法,请查看这个相关问题(因为这不是特定于go的),其

Go map 有重复的键

我正在开发一个通过UDP接收ascii消息的小型Go程序。我想查找消息中的第一个字段,看看它是否存在于map中。Go认为映射中不存在该键,但它确实存在。我可以将key添加到map并创建一个新条目,因此我有两个具有相同key的条目。我做错了什么还是这是一个错误?编辑:我简化了测试以删除UDP和YAML。https://play.golang.org/p/2Bg8UjhfWCpackagemainimport("fmt""strings")typeTestCasestruct{TeststringResultstring}funcmain(){tcmap:=make(map[string]

regex - 去正则表达式查找子字符串

我有一个字符串:s:="root112345/root/pathtomyfolder/jdk/jdk.1.8.0.25org.catalina.startup"我需要将版本号grep成一个字符串尝试过,varre=regexp.MustCompile(`jdk.*`)funcmain(){matches:=re.FindStringSubmatch(s)fmt.Printf("%q",matches)} 最佳答案 您需要指定捕获组来提取子匹配项,如packageoverview中所述:If'Submatch'ispresent,th

database - 如何在 bolt 中获取桶中的键数

我正在使用bolt来存储数据,在存储桶中我将key存储为版本控制,并且我只想在存储桶中保留最大数量的版本。然后我想知道桶中的键是否太多。但是,我找不到比遍历所有键并计数更简单的方法。有谁知道如何获取桶中的键数?提前谢谢你。 最佳答案 我从未听说过或使用过bolt,但是thedocs建议Stats方法会做你想做的事。 关于database-如何在bolt中获取桶中的键数,我们在StackOverflow上找到一个类似的问题: https://stackoverf